#version 450 core

layout(location = 0) in vec3 positionOS;
layout(location = 2) in vec2 uv;

layout(std140, binding = 0) uniform PerDraw
{
    mat4 viewMatrix;
    mat4 projMatrix;
    float time;
};
layout(std140, binding = 2) uniform PerObject
{
    mat4 modelMatrix;
};

out Varyings
{
    vec2 uv;
} o;

void main()
{
    gl_Position = projMatrix * viewMatrix * modelMatrix * vec4(positionOS, 1.0);
    o.uv = uv;
}
